(0) Obligation:
JBC Problem based on JBC Program:
Manifest-Version: 1.0
Created-By: 1.6.0_16 (Sun Microsystems Inc.)
Main-Class: PastaC7
/**
* Example taken from "A Term Rewriting Approach to the Automated Termination
* Analysis of Imperative Programs" (http://www.cs.unm.edu/~spf/papers/2009-02.pdf)
* and converted to Java.
*/
public class PastaC7 {
public static void main(String[] args) {
Random.args = args;
int i = Random.random();
int j = Random.random();
int k = Random.random();
while (i <= 100 && j <= k) {
int t = i;
i = j;
j = i + 1;
k--;
}
}
}
public class Random {
static String[] args;
static int index = 0;
public static int random() {
String string = args[index];
index++;
return string.length();
}
}
(1) JBC2FIG (SOUND transformation)
Constructed FIGraph.
(2) Obligation:
FIGraph based on JBC Program:
PastaC7.main([Ljava/lang/String;)V: Graph of 2663 nodes with 0 SCCs.
(3) FIGtoITRSProof (SOUND transformation)
Transformed FIGraph SCCs to IDPs. Logs:
(4) TRUE